package subraSoft.fenix.model.cliente.domain;

import java.io.Serializable;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Version;

import subraSoft.centaurus.model.domain.CenDefaultDO;
import subraSoft.fenix.model.reparacion.domain.FenReparacionDO;

/**
 * Cliente.
 * 
 * @author christian
 */
@Entity
@Table(name="FEN_CLIENTE")
public class FenClienteDO extends CenDefaultDO implements Serializable
{
	private static final long serialVersionUID = 1L;
	private Long id;
	private String nombre;
	private String direccion;
	private String localidad;
	private String provincia;
	private String codigoPostal;
	private String telefono;
	private String celular;
	private String email;
	private String contacto;
	private String dni;
	private String cuit;
	private Integer tipoIVA;
	private String observaciones;
	private List<FenReparacionDO> reparaciones;
	private Integer version;
	
	@Id
	@GeneratedValue
	@Column(name="CLI_ID")
	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	@Column(name="CLI_NOMBRE")
	public String getNombre() {
		return nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	@Column(name="CLI_DIRECCION")
	public String getDireccion() {
		return direccion;
	}

	public void setDireccion(String direccion) {
		this.direccion = direccion;
	}

	@Column(name="CLI_LOCALIDAD")
	public String getLocalidad() {
		return localidad;
	}

	public void setLocalidad(String localidad) {
		this.localidad = localidad;
	}

	@Column(name="CLI_PROVINCIA")
	public String getProvincia() {
		return provincia;
	}

	public void setProvincia(String provincia) {
		this.provincia = provincia;
	}

	@Column(name="CLI_CODIGO_POSTAL")
	public String getCodigoPostal() {
		return codigoPostal;
	}

	public void setCodigoPostal(String codigoPostal) {
		this.codigoPostal = codigoPostal;
	}

	@Column(name="CLI_TELEFONO")
	public String getTelefono() {
		return telefono;
	}

	public void setTelefono(String telefono) {
		this.telefono = telefono;
	}

	@Column(name="CLI_CELULAR")
	public String getCelular() {
		return celular;
	}

	public void setCelular(String celular) {
		this.celular = celular;
	}

	@Column(name="CLI_EMAIL")
	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	@Column(name="CLI_CONTACTO")
	public String getContacto() {
		return contacto;
	}

	public void setContacto(String contacto) {
		this.contacto = contacto;
	}

	@Column(name="CLI_CUIT")
	public String getCuit() {
		return cuit;
	}

	public void setCuit(String cuit) {
		this.cuit = cuit;
	}

	@Column(name="CLI_TIPO_IVA")
	public Integer getTipoIVA() {
		return tipoIVA;
	}

	public void setTipoIVA(Integer tipoIVA) {
		this.tipoIVA = tipoIVA;
	}

	@Column(name="CLI_OBSERVACIONES")
	public String getObservaciones() {
		return observaciones;
	}

	public void setObservaciones(String observaciones) {
		this.observaciones = observaciones;
	}

	@OneToMany (mappedBy="cliente")
	public List<FenReparacionDO> getReparaciones() {
		return reparaciones;
	}

	public void setReparaciones(List<FenReparacionDO> reparaciones) {
		this.reparaciones = reparaciones;
	}

	@Override
	public String toString() {
		return "{"+id+", "+nombre+", "+telefono+"}";
	}

	@Column(name="CLI_DNI")
	public String getDni() {
		return dni;
	}

	public void setDni(String dni) {
		this.dni = dni;
	}

	
	public void setVersion(Integer version) {
		this.version = version;
	}

	@Version
	@Column(name="CLI_VERSION")
	public Integer getVersion() {
		return version;
	}
	
}
